package com.elder.business.mapper;

import com.elder.business.domain.MemberLeaveRecord;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 * 员工请假Mapper接口
 * 
 * @author elder
 * @date 2024-04-13
 */
public interface MemberLeaveRecordMapper 
{
    /**
     * 查询员工请假
     * 
     * @param leaveId 员工请假主键
     * @return 员工请假
     */
    public MemberLeaveRecord selectMemberLeaveRecordByLeaveId(@Param("leaveId") Long leaveId);

    /**
     * 查询员工请假列表
     * 
     * @param memberLeaveRecord 员工请假
     * @return 员工请假集合
     */
    public List<MemberLeaveRecord> selectMemberLeaveRecordList(MemberLeaveRecord memberLeaveRecord);

    /**
     * 新增员工请假
     * 
     * @param memberLeaveRecord 员工请假
     * @return 结果
     */
    public int insertMemberLeaveRecord(MemberLeaveRecord memberLeaveRecord);

    /**
     * 修改员工请假
     * 
     * @param memberLeaveRecord 员工请假
     * @return 结果
     */
    public int updateMemberLeaveRecord(MemberLeaveRecord memberLeaveRecord);

    /**
     * 删除员工请假
     * 
     * @param memberId 员工请假主键
     * @return 结果
     */
    public int deleteMemberLeaveRecordByMemberId(Long memberId);

    /**
     * 批量删除员工请假
     * 
     * @param memberIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMemberLeaveRecordByMemberIds(Long[] memberIds);

    List<MemberLeaveRecord> getMemberLeaveRecordList(@Param("memberIds") List<Long> memberIds,@Param("applyStatus")  Integer applyStatus,@Param("daystartTime")  Long daystartTime,@Param("dayendTime")  Long dayendTime);

    Integer updateMemberLeave(@Param("leaveId") Long leaveId, @Param("state") Integer state, @Param("notes") String notes);
}
